/**
 * 内容：普通场景创建
 */

import * as THREE from "../../../js/three/three.module.js";
// 场景
var scene = new THREE.Scene()
// 相机
var camera = new THREE.PerspectiveCamera(// 透视摄像机
    50,//视野角度（FOV）
    window.innerWidth/window.innerHeight,// 长宽比（aspect ratio）
    0.1,// 近截面（near）,比这个更近的不显示
    1000// 远截面（far），比这个更远的不显示
)
camera.position.set(5,10,10)
// 渲染器
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);



/**
var materialNormal = new THREE.MeshNormalMaterial();
var cube = THREE.SceneUtils.createMultiMaterialObject(geometry,[
    materialBasic,
    materialNormal
]);
*/
// 几何对象，包括所有的顶点（vertices）和面（faces）
var geometry = new THREE.BoxGeometry(4,4,4);
// 材质
const material = new THREE.MeshBasicMaterial( { color: 0xffff00, wireframe: true } );
const cube = new THREE.Mesh( geometry, material );
camera.lookAt(cube.position);
scene.add(cube);

var spotLight = new THREE.SpotLight(0xffffff);
spotLight.position.set(0,20,20);
spotLight.intensity = 5;
scene.add(spotLight);


//var axies = new THREE.AxisHelper(6);
//scene.add(axies);
// 渲染循环 render loop
function animate(){
    // requestAnimationFrame 当用户切换到其它的标签页时，它会暂停，因此不会浪费用户宝贵的处理器资源，也不会损耗电池的使用寿命
    requestAnimationFrame(animate);
    // 旋转起来
    cube.rotation.x += 0.01;
    cube.rotation.y += 0.01;

    renderer.render(scene, camera);
}
export { animate }